
	threadIt! V4
	(Still better than v2)
	
	Current Version: 4.0.4-dev
	
	v4.0:
	[DONE] Add the EMAPI (ExecutorManager)
	[DONE] Add FutureTasks
	[DONE] Add ControllableFutureTask
	[DONE] Add CompleteableFutureTask
	[DONE] Unify tasks between v3 and v4.
	[DONE] Add DATE.
	[DONE] Add LBTE.
	[DONE] Add LightningFJ.
	[DONE] Add BQDE.
	[DONE] Add ExecutorPreferences. (merged into ExtendedExecutor)
	[DONE] Add ExtendedExecutor.
	[DONE] Implement ExtendedExecutor into v4.
	[DONE] Add StatusTrackableExecutor. (merged into ExtendedExecutor)
	[DONE] Add async callbacks.
	v4.0.1:
	[DONE] Warn when using a threadIt! v3 global executor argument.
	[DONE] Switch from catching Exceptions only to Throwables.
	v4.0.2:
	[DONE] Remove LBTE.
	[CANCELLED] Make BQDE the default executor.
	[DONE] Switch to Executor Extensions for feature support.
	v4.0.3:
	[DONE] Finish DATE's implementation of thread removal and idling.
	[REMOVED] Add BQDE's idle states.
	[DONE] Implement Tasks class.
		Implement:
			- Tasks.all([])
			- Tasks.either([])
			- Tasks.resolve(T)
			- Tasks.fail(T)
	[DONE] IExecutorManager:awaitFor()
	[DONE] Make DATE the default executor.
	[DONE] Make BQDE usable.
	[DONE] Add guards for null-pointers.
	v4.0.4:
	[DONE] ASyncScheduler API
	[DONE] Implement ASyncScheduler support in EM.
	[DONE] Implement async schedulers.
	[DONE] ControllableFutureTask no longer allows execution.
	v4.0.5:
	[DONE] Make BQDE the default executor. (attempt 2)
	[ONGOING] Attemptable tasks. (and asynchronous submissions)
	[ONGOING] Add guards for invalid states. (i.e. already running)
	v4.1:
	[DONE] Partial removal of Task<T> support. (submission via queueTask support stays)
	[TODO] Add Slave/Chainable Tasks
	[TODO] Remove ThreadDispatchers from v3.
	[DONE] Full upgrade from v3 to v4 around the whole codebase.
	[TODO] Task labeling
	>v4.1:
	[TODO] Add clustered tasks.
		[TODO] Add TaskIPC support.
	[TODO] Add recursive tasks.
	[TODO] Add executeEvery() and executeIf()
	[TODO] Remove threadIt! 3.0